#pragma once


#ifdef LE_DEBUG
    #ifndef LE_PLATFORM_WINDOWS
        #error Live Engine : Only support Windows Platform! 
    #endif

#define LE_ENABLE_ASSERTS

#endif // LE_DEBUG


#define BIT(x) (1 << x)


#ifdef LE_ENABLE_ASSERTS

#define LE_ASSERT(x, ...)  {if(!(x)) {LE_ERROR("Assertion Faild: {0}",__VA_ARGS__);__debugbreak();}}
#define LE_CORE_ASSERT(x, ...)  {if(!(x)) {LE_CORE_ERROR("Assertion Faild: {0}",__VA_ARGS__);__debugbreak();}}
#else
#define LE_ASSERT(x, ...)
#define LE_CORE_ASSERT(x, ...)

#endif // LE_ENABLE_ASSERTS